//加载添加购物车推荐产品
$.ajax({
	url:'php/mysql.php',
	dataType:'json'
//	async:false
}).done(function(data){
	var $html='';
	for(var i=0;i<5;i++){
		$html+='<li class="group">'
			+'<div class="lay-t">'
				+'<img src="'+data[i].url+'" class="oimg" sid="'+data[i].id+'" />'
			+'</div>'
			+'<div class="lay-b">'
				+'<div class="tit">'+data[i].title+'</div>'
				+'<div class="price">'
					+'<span class="new">拼团价：￥<em>'+data[i].price+'</em></span>'
					+'<span class="old">市场价：￥<em>'+data[i].oldprice+'</em></span>'
				+'</div>'
				+'<span class="btn">加入购物车</span>'
			+'</div>'
		+'</li>';
	}
	$('.goods-list ul').html($html);
	//开始就先判断是否存在cookie值，若存在，则创建商品列表
	if(getCookie('cartsid')&&getCookie('cartnum')){
		var s=getCookie('cartsid').split(',');
		var n=getCookie('cartnum').split(',');
		for(var i=0;i<s.length;i++){
			creategoods(s[i],n[i]);
		}
	}
	
	$('.btn').on('click',function(ev){   //点击加入购物车按钮
		var sid=$(this).parents('.group').find('.oimg').attr('sid');  //获取当前按钮对应的图片的sid
		cookieToArray();
		//判断当前元素是否存在
		if($.inArray(sid,sidarr) != -1){  //元素存在cookie中，数量进行累加
//			alert('累加');
			$('.content:visible').each(function(){
				if(sid==$(this).find('.limg img').attr('sid')){  //判断当前元素的索引是否是当前图片的id
					var $num=$(this).find('.change .num em').html();
					$num++;
					$(this).find('.change .num em').html($num); //显示当前商品的数量
					
					$p1=parseFloat($(this).find('.price .goodsn').html());  //当前商品的单价
					$(this).find('.total .many').html(($p1*$num).toFixed(2));	//总价=单价*数量
					//浏览时价格没变是因为一开始没有计算
					
					numarr[$.inArray(sid,sidarr)]=$num;
					addCookie('cartnum',numarr.toString(),7);  //存放数量到数组里
					
					totalprice();
				}
			})
		}else{  //不存在，添加进cookie中
			sidarr.push(sid);
			addCookie('cartsid',sidarr.toString(),7);   //存放sid
			numarr.push(1);
			addCookie('cartnum',numarr.toString(),7);  //存放数量
			creategoods(sid,1);
		}
	});
	
	
	
	//删除一件商品
	$('.opera').find('a').on('click',function(){
		var $mask='<div id="mask"></div>';  //创建遮罩
		$('body').append($mask);
		$('#tan').css('display','block');  //显示弹窗
		$that=$(this);
		$('#tan .sp1').on('click',function(){
			var $ma=$('#mask');
			$('#tan').css('display','none');
			$ma.css('display','none');
			
			cookieToArray();  //将cookie转数组
			$that.parents('.content').remove();  //删除一行
			delgoodslist($that.parents('.content').find('img').attr('sid'),sidarr);  //cookie删除目标
			totalprice();
		});
		$('#tan .sp2').on('click',function(){
			var $ma=$('#mask');
			$('#tan').css('display','none');
			$ma.css('display','none');
		});
	});
	
	
	//删除全部商品
	$('.count .all a:first').on('click',function(){
		$('.content:visible').each(function(){
			if($(this).find('input:checkbox').is(':checked')){
				$(this).remove();
				delgoodslist($(this).find('img').attr('sid'),sidarr);
			}
		});
		totalprice();
	});
	
	
	
	//全选
	$('.allsel').on('click',function(){
		if($(this).prop('checked')){  //当前点击的全选框为选中时
			$('.content:visible').find('input:checkbox').prop('checked',true);
			$(this).parent().css('background-position','0 -176px');  //当前选框的背景改变
			$('.content:visible').find('.checked').css('background-position','0 -176px'); //所有商品的背景改变
		}else{
			$('.content:visible').find('input:checkbox').prop('checked',false);
			$(this).parent().css('background-position','0 0');
			$('.content:visible').find('.checked').css('background-position','0 0');
		}
		totalprice();
	});

	var $input=$('.content:visible').find('input:checkbox');
	$('.list').on('change',$input,function(e){
		if(e.target.checked){  //当前点击的商品是被选中的
			$(e.target).parent().css('background-position','0 -176px');
		}else{
			$(e.target).parent().css('background-position','0  0');
		}
		var $input1=$('.content:visible').find('input:checkbox').length;
		if($('.content:visible').find('input:checkbox:checked').length==$input1){ //选中的长度等于所有选框的长度
			$('.allsel').prop('checked',true);  //全选
			$('.allsel').parent().css('background-position','0 -176px');
		}else{
			$('.allsel').prop('checked',false);
			$('.allsel').parent().css('background-position','0 0');
		}
		totalprice();
	});
	
	
	//数量++
	$('.add').on('click',function(){
		var $count=$(this).parents('.content').find('.num em').html();
		$count++;
		if($count>=99){
			$count=99;
		}
		$(this).parents('.content').find('.num em').html($count);
		$(this).parents('.content').find('.total').find('.many').html(singlegoodsprice($(this)));
		totalprice();
		setcookie($(this));
		
	});
	
	
	//数量--
	$('.del').on('click',function(){
		var $count=$(this).parents('.content').find('.num em').html();
		$count--;
		if($count<=1){
			$count=1;
		}
		$(this).parents('.content').find('.num em').html($count);
		$(this).parents('.content').find('.total').find('.many').html(singlegoodsprice($(this)));
		totalprice();
		setcookie($(this));
	});
	
});
			
//购物车的思路：利用当前的id和存入cookie的id进行判断，如果当前的id存在cookie，数量累加，否则创建商品列表
var sidarr=[];
var numarr=[];

function cookieToArray(){  //利用数组进行判断
	if(getCookie('cartsid')){  //cartid:cookie的key
		sidarr=getCookie('cartsid').split(',');
	}else{
		sidarr=[];
	}
	
	if(getCookie('cartnum')){  //cartnum:cookie的数量
		numarr=getCookie('cartnum').split(',');
	}else{
		numarr=[];
	}
}
			
//创建商品列表
function creategoods(sid,num){  //sid当前点击的按钮，里面的数据就是创建的购物车列表里的数据；num数量
	$.ajax({
		url:'php/mysql.php',
		dataType:'json'
	}).done(function(data){
		for(var i=0;i<5;i++){
			if(sid==data[i].id){  //传入的sid是否当前对应那条数据的id
				var $clone=$('.content:hidden').clone(true);  //true:保留事件  原生的true代表子节点  
				//克隆的必须为要添加的一条商品，而不是整个框架
				//将添加的数据与数据库连接
				$clone.find('.limg').find('img').attr('src',data[i].url);
				$clone.find('.limg').find('img').attr('sid',data[i].id);
				$clone.find('.des').find('.dest').html(data[i].title);
				$clone.find('.price').find('.goodsn').html(data[i].price);
				$clone.find('.price').find('.goodso').html(data[i].oldprice);
				$clone.find('.change').find('.num').find('em').html(num);  //数量
				$clone.find('.checked').css('background-position','0 -176px');
				//一开始就先进行计算
				var $p2=parseFloat($clone.find('.price .goodsn').html()); 
				$clone.find('.total .many').html(($p2*num).toFixed(2));   //单价*数量
				
				$clone.css('display','block');
				$('.list').append($clone);
			}
		}	
		kong();
		totalprice();
	});
}

//判断购物车是否为空
function kong(){
	if(getCookie('cartsid')){  //不为空
		$('.shopping').show();
		$('.back').hide();
	}else{
		$('.shopping').hide();
		$('.back').show();
	}
}

totalprice();
//计算总价
function totalprice(){
	var $total=0;
	var $counts=0;
	$('.content:visible').each(function(){
		if($(this).find('input:checkbox').is(':checked')){
			$total+=parseFloat($(this).find('.total .many').html());  //总价
			$counts+=parseInt($(this).find('.change .num em').html());   //总数量
		}
	});
	$('.count .allnum .as').html($counts);
	$('.count .allnum .alls').html('￥'+$total.toFixed(2));
}


//删除一行或者全部的cookie值。 
function delgoodslist(sid,sidarray){  //sid 图片id    sidarray：存放id的数组
	var arr=[];  
	for(var i=0;i<sidarray.length;i++){  //传入存放id的数组
		if(sid!=sidarray[i]){  //如果当前传入的id不等于数组的,单独存储出来
			arr.push(sidarray[i]);  //arr存放的就是不会删除的id.
		}
	}
	numarr.splice(sidarray.indexOf(sid),1);  //数量的数组进行截取删除，（改变原数组）
	sidarr=arr;  //保留的id存放到cookie里面去。
	addCookie('cartsid',sidarr.toString(),7);  //删除后的sid
	addCookie('cartnum',numarr.toString(),7);  //删除后的数量
}


//计算单个商品的价格
function singlegoodsprice(row){  //当前点击的商品
	var $dj=parseFloat(row.parents('.content').find('.price').find('.goodsn').html());  //单价
	var $cnum=parseInt(row.parents('.content').find('.change .num em').html());  //数量
	return ($dj*$cnum).toFixed(2);
}


//将改变后的数量的值存放到cookie
function setcookie(obj){  //当前点击的商品
	cookieToArray();
	var $index=obj.parents('.content').find('img').attr('sid');  //图片的sid
	numarr[sidarr.indexOf($index)]=obj.parents('.content').find('.change .num em').html();//将改变后的数量存入数组中
	addCookie('cartnum',numarr.toString(),7);
}




